The present disclosure relates to an information processing apparatus, an image forming apparatus, and a method for controlling the information processing apparatus.
Conventionally, there is known an information processing apparatus that fulfills its functions by using a plurality of control portions (devices each including a CPU, a memory, and so on). Such an information processing apparatus is used for, for example, controlling a job execution portion of an image forming apparatus.
An image forming apparatus is composed of, for example, a main control portion that performs control of the entire apparatus, an engine control portion that controls a printing operation with respect to a paper sheet, and a scanner control portion that controls a scanning operation with respect to an original document. Each of the control portions of the image forming apparatus includes, for example, a CPU, a memory, and so on and stores a program for executing a job corresponding to the each of the control portions.
By the way, the image forming apparatus may be equipped with a multitude of optional devices such as a large-capacity paper feed device, a finish processing device that performs stapling processing, punching processing, and so on, and an original document conveying device that conveys an original document to a reading position for performing scanning. Typically, each of the optional devices includes a control portion that is composed of a CPU, a memory, and so on, and each of the control portions of the optional devices by itself retains a program for executing a job corresponding to the each of the control portions.
In the configuration described above, for example, the control portion of the paper feed device (hereinafter, referred to as a paper feed control portion) and the control portion of the finish processing device (hereinafter, referred to as a finish processing control portion) are connected to the engine control portion. Furthermore, the control portion of the original document conveying device (hereinafter, referred to as an original document conveying control portion) is connected to the scanner control portion. In this case, for example, the engine control portion acts as a supervisory control portion that, based on a command from the main control portion, provides a command to each of the paper feed control portion and the finish processing control portion, and each of the paper feed control portion and the finish processing control portion acts as a subordinate control portion that is subordinate to the engine control portion. Similarly, the scanner control portion acts as a supervisory control portion that, based on a command from the main control portion, provides a command to the original document conveying control portion, and the original document conveying control portion acts as a subordinate control portion that is supervised by the scanner control portion.
Upon undergoing bug fixing, addition of a function, or the like, each of the programs of the control portions of the image forming apparatus is updated from an old version to a new version. An update program for updating each of the programs of the control portions is sent to the image forming apparatus via a network or the like. Alternatively, there is also a case where a portable storage medium storing such an update program is provided to a user of the image forming apparatus.
Herein, in the conventional technique, in a case of updating the programs of the plurality of control portions of the image forming apparatus, in accordance with a predetermined updating order, the main control portion sequentially commands the plurality of control portions, one at a time, to perform program updating. In other words, the main control portion commands one of the control portions ranked higher in the updating order to perform program updating, and after completion of the program updating at the one of the control portions, commands another one of the control portions ranked lower in the updating order to perform program updating. The reason for this is that, for example, in a case where a supervisory control portion has a processing program for performing program updating with respect to each subordinate control portion linked to itself, if program updating with respect to the supervisory control portion (namely, updating of the processing program) is performed first, program updating with respect to the each subordinate control portion may become unable to be performed.
In this case, for example, if the number of control portions to be subjected to program updating is small, it does not take so much time to complete program updating with respect to all the control portions. In a case of an image forming apparatus equipped with a large number of optional devices, however, the number of control portions that possibly become control portions to be subjected to program updating is increased.
For example, in a case where there exist a large number of control portions to be subjected to program updating, if all the control portions are sequentially subjected, one at a time, to program updating, it takes a lot of time to complete program updating with respect to all the control portions, which is disadvantageous.